
// pages/goods/goods_details/index.js
import {request} from '../../../utils/request.js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    detailList:[],
    isShow:false
  },
  goods_id:0,
  GoodsList:[],
  /**
   * 生命周期函数--监听页面加载
   */
  onShow: function () {
      // 获取页面栈
    let pages =  getCurrentPages();
    let currentPage = pages[pages.length-1]
    let option = currentPage.options
    this.goods_id = option.goods_id
    this.getDetailList()
  },
  // 获取商品详情页数据
  async getDetailList(){
    let res = await request('/goods/detail',{goods_id:this.goods_id})
    // console.log(res)
    this.GoodsList = res;
    // 获取收藏的订单
    let collect = wx.getStorageSync('collect')||[];
    // console.log(collect);
    let isShow = collect.some(v=>v.goods_id == this.goods_id)
    // console.log(isShow);
    this.setData({
      detailList:{
        pics:res.pics,
        goods_name:res.goods_name,
        goods_price:res.goods_price,
        // ios不支持wegp
        goods_introduce:res.goods_introduce.replace(/\.webp/gi,'.jpg')
      },
      isShow
    })
  },
  // 收藏
  CollectEvent(){
    // console.log(typeof(this.goods_id))
    let collect = wx.getStorageSync('collect')||[];
    // console.log(collect)
    let index = collect.findIndex(v=>v.goods_id==this.goods_id)
    // console.log(index)
    if(index!=-1){
      collect.splice(index,1);
      wx.showToast({
        title: '取消成功',
        icon: 'success',
        mask: true
      });
    }else{
      collect.push(this.GoodsList)
      wx.showToast({
        title: '收藏成功',
        icon: 'success',
        mask: true
      });
    }
    wx.setStorageSync('collect', collect)
    this.setData({
      isShow:!this.data.isShow
    })
  },
  // 图片放大预览
  handlePreviewImage(e){
    let {index} = e.currentTarget.dataset
    // 创建图片列表
    const urls = this.data.detailList.pics.map(v=>v.pics_big)
    wx.previewImage({
      // 当前显示的图片地址
      current: urls[index],
      // 图片列表
      urls:urls,
    })
  },
  // 加入购物车
  appendCart(){
    /**
     * 1.使用缓存技术存储数据
     * 2.获取缓存数据
     * 3.判断商品是否已经存在列表里，如果存在，数量++，如果不存在，添加数据
     */
    let cart =  wx.getStorageSync('cart')||[]
    // console.log(cart);
    let index = cart.findIndex(v=>v.goods_id==this.GoodsList.goods_id)
    // 判断商品是否已经存在列表里，如果存在，数量++，如果不存在，添加数据
    if(index===-1){
      // console.log('不存在')
      this.GoodsList.num = 1;
      // 商品选中状态
      this.GoodsList.check = true;
      cart.push(this.GoodsList);
    }else{
      // console.log("存在");
      cart[index].num++;
    }
    wx.setStorageSync('cart', cart)
    wx.showToast({
      title: '加入成功',
      icon: 'success',
      mask: true
    });
  },
// 立即购买
 buyNow(){
  //  存储当前订单数据
   wx.setStorageSync('goodsData',this.data.detailList);

  //  跳转到支付页面
  wx.navigateTo({
    url: '../../pay/index'
  });
 },
})